package org.example.medicalstaff.service;

import org.example.his.common.api.CommonResponse;
import org.example.medicalstaff.entity.Prescripition;
import org.example.medicalstaff.entity.PrescriptionDetailed;
import org.example.medicalstaff.vo.DrugAndPreDetailed;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.List;

public interface PrescriptionService {

    /**
     * CH AREA
     */

    /**
     * API1 暂存开立处方
     */
    CommonResponse<Prescripition> tem_store_pres(
            int MedicalID,
            int RegistID,
            int UserID,
            String PrescriptionName
    );

    /**
     * API2 根据药品处方获取药品明细
     */
    CommonResponse<List<DrugAndPreDetailed>> getDetailByPre(
            int MedicalID,
            int RegistID,
            int UserID,
            String PrescriptionName
    );

    /**
     * API3 修改暂存开立处方
     */
    CommonResponse<String> modify_tem(
            int MedicalID,
            int RegistID,
            int UserID,
            String PrescriptionName
    );

    /**
     * API4 删除暂存开立处方
     */
    CommonResponse<String> del_tem(
            int MedicalID,
            int RegistID,
            int UserID,
            String PrescriptionName
    );

    /**
     * API5 暂存处方增加药品
     */
    CommonResponse<String> addItem(
            int PrescriptionID,
            int DrugsID,
            String DrugsUsage,
            String Dosage,
            String Frequency,
            int Amount
    );

    /**
     * API6 暂存处方删除药品
     */
    CommonResponse<String> del_m(
            int PrescriptionID,String DrugsName,String DrugsFormat,BigDecimal DrugsPrice
    );

    /**
     * API7 获取当前状态的所有处方
     */
    CommonResponse<List<Prescripition>> get_pre(
            int MedicalID,
            int RegistID,
            int UserID
    );


    /**
     * ZCJ AREA
     */
    /**
     * API 处方新增组套药品
     */
    CommonResponse<Prescripition> prescripiton_managePrescripition_add(
            int ID,
            int MedicalID,
            int RegistID,
            int UserID,
            BigDecimal Amount
    );
    /**
     * 处方修改
     */
    CommonResponse<Prescripition> prescripiton_managePrescripition_update(
            int MedicalID,
            int RegistID,
            int UserID,
            String PrescriptionName
    );

}
